The invention relates generally to optical information processing, and in particular, to an optical crossbar apparatus for performing parallel optical logic and arithmetic operations and including programmable residue arithmetic functions.
There is a fundamental difference between optical circuits, in which the information carriers are photons, and electronic circuits, where the carriers are electrons. In the former case, the carriers do not interact with each other, while in the latter they do. This means that in optical devices there exist interconnect possibilities that do not exist with electronic hardware, in particular, interconnected parallel architectures which permit digital arithmetic and logic operations to be performed in a completely parallel, single step process. After the inputs are switched on, the output appears in the time it takes a photon to transit the device. No faster computation time is possible.
U.S. Pat. No. 4,797,843 as well as co-pending application Ser. No. 019,761 filed Feb. 27, 1987 of Falk et al describe optical arithmetic/logic units that perform the above-mentioned single step process by employing residue arithmetic. Residue arithmetic does not have a "carry" operation; that is, each "bit" in the representation is independent of the other. In residue arithmetic, each "bit" in a representation of a number is the decimal value of the number modulo the prime number corresponding to that position, called the modulus.
The optical cross-bar arithmetic/logic unit disclosed in the above-mentioned co-pending application utilizes crossed optical paths of light configured to define intersecting regions with each other corresponding to truth table or logic table inputs. The intensity of light at each intersecting region is detected to determine if two units of light intensity are present at each intersection, thereby indicating a particular logic state.
The aforementioned co-pending application operates utilizing a table look-up approach, referred to as a cross-bar ALU, for performing the residue arithmetic. However, there is a need to perform multilevel logic and control functions and in particular programmable residue arithmetic functions. Such functions are important in implementing an all optical computer structure.